<?php
/**
 * Description: 小班 - 自主答题
 * User: devforma
 * Date: 16/8/4
 * Time: 10:31
 */

require __DIR__ . '/includes/VipUtils.class.php';
class GetSelfTest implements iController {
    private static $MODULE_DIR;

    function __construct() {
        self::$MODULE_DIR  = __DIR__ . '/modules/';
    }

    /**
     * api请求处理主函数
     * @param array $queryArgs 就是$_REQUEST变量
     * @return array api返回结果，必须含response_code
     */
    public function output($queryArgs) {
        if (validateUser($queryArgs) !== 1 || empty($queryArgs['type_id']) || filter_var($queryArgs['type_id']) === false) {
            return genOutput(1000);
        }

        /**==========================================================
        | 根据不同作业科目、类型加载不同模块处理
        ----------------------------------------------------------*/
        switch ($queryArgs['type_id']) {
            case 31: //速算
                require self::$MODULE_DIR.'SusuanSingleModule.class.php';
                $exerciseModule = new SusuanSingleModule();
                break;

            case 32: //找数
                require self::$MODULE_DIR.'ZhaoshuModule.class.php';
                $exerciseModule = new ZhaoshuModule();
                break;

            case 29: //解方程
                require self::$MODULE_DIR.'JiefangchengModule.class.php';
                $exerciseModule = new JiefangchengModule();
                break;

            case 30: //列方程
                require self::$MODULE_DIR.'LiefangchengModule.class.php';
                $exerciseModule = new LiefangchengModule();
                break;

            case 25: //判断推理 - 题型判定
            case 26: //言语 - 题型判定
            case 27: //资料 - 题型判定
            case 28: //数量 - 题型判定
            case 41: //常识判断 - 题型判定
                require self::$MODULE_DIR.'TixingpandingModule.class.php';
                $exerciseModule = new TixingpandingModule($queryArgs['type_id']);
                break;

            default:
                return genOutput(1001);
        }

        //获取答题报告题目
        if (!empty($queryArgs['selftest_id'])) {
            $exerciseModule->setSelfTestId($queryArgs['selftest_id']);
        }

        $data = $exerciseModule->getSelfTest($queryArgs);

        return genOutput(1, $data);
    }
}